<html>
<head><meta charset="utf-8"><title>Meeting 2019-08-01 · t-lang/wg-unsafe-code-guidelines · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/index.html">t-lang/wg-unsafe-code-guidelines</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html">Meeting 2019-08-01</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="172229735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172229735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172229735">(Aug 01 2019 at 15:13)</a>:</h4>
<p>Hi <span class="user-group-mention" data-user-group-id="810">@WG-unsafe-code-guidelines</span> !</p>



<a name="172229914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172229914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DutchGhost <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172229914">(Aug 01 2019 at 15:16)</a>:</h4>
<p>hello! is this like a public meeting? sorry if I interrupted otherwise</p>



<a name="172230037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230037">(Aug 01 2019 at 15:17)</a>:</h4>
<p>it's public, otherwise it wouldn't be on Zulip. ;) we usually do some triage, basically, and think about which topics might be most interesting for the WG to look at next.</p>



<a name="172230071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230071">(Aug 01 2019 at 15:17)</a>:</h4>
<p>if you have things related to that, feel free to chime in!</p>



<a name="172230107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230107">(Aug 01 2019 at 15:18)</a>:</h4>
<p>otherwise please just open another topic here on zulip</p>



<a name="172230132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230132">(Aug 01 2019 at 15:18)</a>:</h4>
<p>if it's just me in terms of WG people I guess there is no meeting anyway.^^</p>



<a name="172230348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230348">(Aug 01 2019 at 15:20)</a>:</h4>
<p>so in terms of triage: I think the current state of our PRs is that <a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/180" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/180">https://github.com/rust-lang/unsafe-code-guidelines/pull/180</a> is read to be merged. I was just going to wait a bit if any other suggestions come up, and was hoping <span class="user-mention" data-user-id="132920">@gnzlbg</span> or <span class="user-mention" data-user-id="124289">@rkruppe</span> or so would be here to give me the green light. ;)<br>
My other PR also hasn't seen comments in a bit, but it's a lot of text so I'll just let it sit for a bit mote.</p>



<a name="172230356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230356">(Aug 01 2019 at 15:20)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> 's PRs AFAIK are all waiting for them to do some edits.</p>



<a name="172230365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230365">(Aug 01 2019 at 15:21)</a>:</h4>
<p>i'm here</p>



<a name="172230399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230399">(Aug 01 2019 at 15:21)</a>:</h4>
<p>so, do you think we can merge <a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/180" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/180">https://github.com/rust-lang/unsafe-code-guidelines/pull/180</a> ?</p>



<a name="172230467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230467">(Aug 01 2019 at 15:22)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span>  i was hoping to hear <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> opinion on that as well. But since the reference kind of uses those terms already and they haven't chimed in the discussion, I think we can merge this.</p>



<a name="172230480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230480">(Aug 01 2019 at 15:22)</a>:</h4>
<p>Maybe they are not getting zulip notifications on RL got in their way. I can try pinging them on Discord</p>



<a name="172230489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230489">(Aug 01 2019 at 15:22)</a>:</h4>
<p>same here, but I also have not heard from them for a bit</p>



<a name="172230498"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230498" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230498">(Aug 01 2019 at 15:22)</a>:</h4>
<p>having <span class="user-mention" data-user-id="116009">@nikomatsakis</span> look at this would also be nice</p>



<a name="172230544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230544">(Aug 01 2019 at 15:23)</a>:</h4>
<p>and also I am using basically their proposed terms here ("value" and "place") so I dont expect objection to that, but they probably have opinions on how I defined those terms.</p>



<a name="172230623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230623">(Aug 01 2019 at 15:24)</a>:</h4>
<p>merging its ok for me, I can't find nicole on discord either</p>



<a name="172230637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230637">(Aug 01 2019 at 15:24)</a>:</h4>
<p>okay, going to merge. it's not like that makes it immutable forever anyway.</p>



<a name="172230650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230650">(Aug 01 2019 at 15:24)</a>:</h4>
<p>but with this we have completed the TODO items that were added to the glossary long ago :)</p>



<a name="172230687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230687">(Aug 01 2019 at 15:25)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> is there one of your PRs that you think I should look at again or that we should talk about? last time I checked there was outstanding feedback for all of them.</p>



<a name="172230764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230764">(Aug 01 2019 at 15:26)</a>:</h4>
<p>(no pressure, just trying to make sure I'm not missing things)</p>



<a name="172230819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230819">(Aug 01 2019 at 15:27)</a>:</h4>
<p>I don't recall, had a paper deadline this week, and have been a bit disconnected</p>



<a name="172230832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230832">(Aug 01 2019 at 15:27)</a>:</h4>
<p>we can just skim over the list and see if any is ready?</p>



<a name="172230854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230854">(Aug 01 2019 at 15:27)</a>:</h4>
<p>sure</p>



<a name="172230868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230868">(Aug 01 2019 at 15:27)</a>:</h4>
<p>so i have 5 PR open</p>



<a name="172230939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230939">(Aug 01 2019 at 15:28)</a>:</h4>
<p>what's blocking <a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/153" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/153">https://github.com/rust-lang/unsafe-code-guidelines/pull/153</a> ?</p>



<a name="172230997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172230997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172230997">(Aug 01 2019 at 15:29)</a>:</h4>
<p>we talked about that one last weet at the mtg</p>



<a name="172231005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231005">(Aug 01 2019 at 15:29)</a>:</h4>
<p>and I left a note there about what we decided :D</p>



<a name="172231023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231023">(Aug 01 2019 at 15:29)</a>:</h4>
<p><a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/153#pullrequestreview-266745247" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/153#pullrequestreview-266745247">https://github.com/rust-lang/unsafe-code-guidelines/pull/153#pullrequestreview-266745247</a></p>



<a name="172231030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231030">(Aug 01 2019 at 15:29)</a>:</h4>
<p><a href="https://github.com/rust-lang/unsafe-code-guidelines/issues/184" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/issues/184">https://github.com/rust-lang/unsafe-code-guidelines/issues/184</a></p>



<a name="172231084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231084">(Aug 01 2019 at 15:30)</a>:</h4>
<p>i've punted the work of making subsection consistent</p>



<a name="172231106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231106">(Aug 01 2019 at 15:30)</a>:</h4>
<p>right but the PR still defines "layout includes these things"</p>



<a name="172231112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231112">(Aug 01 2019 at 15:30)</a>:</h4>
<p>which we decided is not how we wanted to approach this</p>



<a name="172231120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231120">(Aug 01 2019 at 15:30)</a>:</h4>
<p>ok, so that PR is not ready, that still needs to happen</p>



<a name="172231129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231129">(Aug 01 2019 at 15:30)</a>:</h4>
<p>I think I'll do the work in that PR</p>



<a name="172231140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231140">(Aug 01 2019 at 15:31)</a>:</h4>
<p>and the PR does change some parts in some sections; at least those it should use the new terminology for then</p>



<a name="172231147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231147">(Aug 01 2019 at 15:31)</a>:</h4>
<p>also to see if it really works</p>



<a name="172231169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231169">(Aug 01 2019 at 15:31)</a>:</h4>
<p>doing the sweeping change then can be left as future work (it should be rather clear at that point which parts are "old" and which are "new")</p>



<a name="172231221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231221">(Aug 01 2019 at 15:32)</a>:</h4>
<p>i think i will do both there</p>



<a name="172231238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231238">(Aug 01 2019 at 15:32)</a>:</h4>
<p>it's hard to know from the local change only whether this makes sense everywhere</p>



<a name="172231249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231249">(Aug 01 2019 at 15:32)</a>:</h4>
<p>only when updating the rest did we realize that spelling everything out was a mouthful, and decided to do something else</p>



<a name="172231257"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231257" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231257">(Aug 01 2019 at 15:32)</a>:</h4>
<p>yes</p>



<a name="172231270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231270">(Aug 01 2019 at 15:32)</a>:</h4>
<p>we can then decide whether that's really what we want, and whether it should be split in different PRs</p>



<a name="172231309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231309">(Aug 01 2019 at 15:33)</a>:</h4>
<p><a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/159" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/159">https://github.com/rust-lang/unsafe-code-guidelines/pull/159</a> is blocked on clarifiying a bit field less and data-carrying enums, and on removing the &amp;! bits</p>



<a name="172231330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231330">(Aug 01 2019 at 15:34)</a>:</h4>
<p>i'd rather open an issue to clarify field-less and data-carrying enums a bit more, remove the &amp;! parts, and see if we can merge the rest</p>



<a name="172231394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231394">(Aug 01 2019 at 15:34)</a>:</h4>
<p>I'll split that PR in two</p>



<a name="172231439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231439">(Aug 01 2019 at 15:35)</a>:</h4>
<p>I also have some open comments in there</p>



<a name="172231458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231458">(Aug 01 2019 at 15:35)</a>:</h4>
<p>like not using Rust code to demonstrate layout equality things that cannot actually be demonstrated in code</p>



<a name="172231471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231471">(Aug 01 2019 at 15:35)</a>:</h4>
<p>yep, I remove that</p>



<a name="172231488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231488">(Aug 01 2019 at 15:35)</a>:</h4>
<p>and "inhabited" is a bombshell that you dropped there^^</p>



<a name="172231489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231489">(Aug 01 2019 at 15:35)</a>:</h4>
<p>you mention the comment was confusing, I don't have an opinion either way</p>



<a name="172231495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231495">(Aug 01 2019 at 15:35)</a>:</h4>
<p>I did not forsee it would be so controversial</p>



<a name="172231548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231548">(Aug 01 2019 at 15:36)</a>:</h4>
<p>I think "inhabited" is a term not to be used without a precise definition</p>



<a name="172231559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231559">(Aug 01 2019 at 15:36)</a>:</h4>
<p>I still think that this would hold for whatever definition of inhabited / uninhabited that we pick, or maybe put in another way, we should pick a definition such that it holds</p>



<a name="172231565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231565">(Aug 01 2019 at 15:36)</a>:</h4>
<p>I have been involved in long and heated discussions on the rust forums about that term^^</p>



<a name="172231572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231572">(Aug 01 2019 at 15:36)</a>:</h4>
<p>but since we haven't done that, its wrong to force that here</p>



<a name="172231597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231597">(Aug 01 2019 at 15:37)</a>:</h4>
<p>it should be discussed whether this is a constraint worth having when trying to define inhabited</p>



<a name="172231614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231614">(Aug 01 2019 at 15:37)</a>:</h4>
<p>IMO this story should start with a glossary definition of "uninhabited"</p>



<a name="172231714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231714">(Aug 01 2019 at 15:38)</a>:</h4>
<p>yep, let's punt that to later and just remove those parts</p>



<a name="172231726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231726">(Aug 01 2019 at 15:38)</a>:</h4>
<p>maybe open an issue to track defining uninhabited ?</p>



<a name="172231727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231727">(Aug 01 2019 at 15:38)</a>:</h4>
<blockquote>
<p>'d rather open an issue to clarify field-less and data-carrying enums a bit more</p>
</blockquote>
<p>I made a concrete small proposal for clarification. I dont think an issue is warranted. if you dont want to implement that proposal in your PR I can just make a PR for it.</p>



<a name="172231768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231768">(Aug 01 2019 at 15:39)</a>:</h4>
<blockquote>
<p>maybe open an issue to track defining uninhabited ?</p>
</blockquote>
<p>we have <a href="https://github.com/rust-lang/unsafe-code-guidelines/issues/165" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/issues/165">https://github.com/rust-lang/unsafe-code-guidelines/issues/165</a></p>



<a name="172231772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231772">(Aug 01 2019 at 15:39)</a>:</h4>
<p>I'd say that's the same discussion</p>



<a name="172231773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231773">(Aug 01 2019 at 15:39)</a>:</h4>
<p>I'll update all PRs after the meeting, and we can discuss what to do inline (can't remember how small or large the changes were)</p>



<a name="172231776"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231776" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231776">(Aug 01 2019 at 15:39)</a>:</h4>
<p>sounds good</p>



<a name="172231812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231812">(Aug 01 2019 at 15:39)</a>:</h4>
<p><a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/160#discussion_r307866029" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/160#discussion_r307866029">https://github.com/rust-lang/unsafe-code-guidelines/pull/160#discussion_r307866029</a> is blocked on me rephrasing that, or removing it, will check later</p>



<a name="172231893"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231893" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231893">(Aug 01 2019 at 15:40)</a>:</h4>
<p>yes</p>



<a name="172231900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231900">(Aug 01 2019 at 15:40)</a>:</h4>
<p>also that was the PR with the "pictures", right?</p>



<a name="172231922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231922">(Aug 01 2019 at 15:41)</a>:</h4>
<p>yes, i'd prefer to add pictures afterwards to the struct an union sections</p>



<a name="172231941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231941">(Aug 01 2019 at 15:41)</a>:</h4>
<p>yes: <a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/160#discussion_r307714990" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/160#discussion_r307714990">https://github.com/rust-lang/unsafe-code-guidelines/pull/160#discussion_r307714990</a></p>



<a name="172231948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231948">(Aug 01 2019 at 15:41)</a>:</h4>
<p>sure, I can open an issue</p>



<a name="172231964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172231964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172231964">(Aug 01 2019 at 15:41)</a>:</h4>
<p>at some point, I think we should try to go through the book, and "summarize" stuff</p>



<a name="172232026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232026">(Aug 01 2019 at 15:42)</a>:</h4>
<p><a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/161" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/161">https://github.com/rust-lang/unsafe-code-guidelines/pull/161</a> has some open comments</p>



<a name="172232033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232033">(Aug 01 2019 at 15:42)</a>:</h4>
<p>and not much discussion yet</p>



<a name="172232037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232037">(Aug 01 2019 at 15:42)</a>:</h4>
<p>reading the struct and enum chapters feels like some simple things are explained with a lot of words</p>



<a name="172232038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232038">(Aug 01 2019 at 15:42)</a>:</h4>
<p>so I guess you can just go over them and see</p>



<a name="172232065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232065">(Aug 01 2019 at 15:42)</a>:</h4>
<blockquote>
<p>reading the struct and enum chapters feels like some simple things are explained with a lot of words</p>
</blockquote>
<p>that's what I was trying to fight in some of your PRs as well ;)</p>



<a name="172232082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232082">(Aug 01 2019 at 15:43)</a>:</h4>
<p>OTOH, precisely stating the obvious is an art on its own</p>



<a name="172232122"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232122" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232122">(Aug 01 2019 at 15:43)</a>:</h4>
<p>I think we should summarize in PRs that are "non-functional changes". As in, that PR cannot change semantics in any way. </p>
<hr>
<p><a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/161" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/161">https://github.com/rust-lang/unsafe-code-guidelines/pull/161</a><br>
I think we can now slowly try to resolve those. Your PR with a definition for value representation is already merged?</p>



<a name="172232152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232152">(Aug 01 2019 at 15:43)</a>:</h4>
<p>Instead of using padding, I think we can word <a href="https://github.com/rust-lang/rust/issues/161" target="_blank" title="https://github.com/rust-lang/rust/issues/161">#161</a> to just mention something about the bytes of the value representation</p>



<a name="172232153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232153">(Aug 01 2019 at 15:43)</a>:</h4>
<p>yes we can, but the mtg has 2 more minutes and then my bus comes, so lets do that in the PR :)</p>



<a name="172232206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232206">(Aug 01 2019 at 15:44)</a>:</h4>
<p>"bytes of the value rep" is not a term that has been defined anywhere yet</p>



<a name="172232220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232220">(Aug 01 2019 at 15:44)</a>:</h4>
<p>and I honestly dont know what it means</p>



<a name="172232229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232229">(Aug 01 2019 at 15:44)</a>:</h4>
<p>unless its a weird way to say "non-padding"</p>



<a name="172232291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232291">(Aug 01 2019 at 15:45)</a>:</h4>
<p><a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/164" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/164">https://github.com/rust-lang/unsafe-code-guidelines/pull/164</a> should be updated to the "1-ZST" terminology. Otherwise this seems uncontroversial.</p>



<a name="172232305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232305">(Aug 01 2019 at 15:45)</a>:</h4>
<p>the value relationship is a 1:1 relationship, not many to one</p>



<a name="172232312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232312">(Aug 01 2019 at 15:45)</a>:</h4>
<p>or something like that</p>



<a name="172232330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232330">(Aug 01 2019 at 15:45)</a>:</h4>
<p>the relationship is between values and lists of bytes</p>



<a name="172232343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232343">(Aug 01 2019 at 15:45)</a>:</h4>
<p>so that doesnt even typecheck what you just said</p>



<a name="172232344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232344">(Aug 01 2019 at 15:45)</a>:</h4>
<p>so saying that this relationship is injective</p>



<a name="172232397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232397">(Aug 01 2019 at 15:46)</a>:</h4>
<p>would be a way to say that there is no padding</p>



<a name="172232466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232466">(Aug 01 2019 at 15:46)</a>:</h4>
<p>its a relation not a function and we use it both ways so "injective" isnt clear...</p>



<a name="172232507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232507">(Aug 01 2019 at 15:47)</a>:</h4>
<p>you mean the bytelist-to-val mapping is injective? different lists -&gt; different values?</p>



<a name="172232546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232546">(Aug 01 2019 at 15:47)</a>:</h4>
<p>not sure if padding is the <em>only</em> cause of ambiguity that we could have there... like, I deliberately did not define the values for <code>f32</code> ;)</p>



<a name="172232556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232556">(Aug 01 2019 at 15:47)</a>:</h4>
<p>yes, if we use it both ways it would be bijective and invertible</p>



<a name="172232646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232646">(Aug 01 2019 at 15:48)</a>:</h4>
<p>well for f32 it wouldn't be bijective right ?</p>



<a name="172232656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232656">(Aug 01 2019 at 15:48)</a>:</h4>
<p>and anyway that would still only help to define <em>types with no padding at all</em>, ut doesnt help to define what the "bytes of the value rep" are or  what a "padding byte" is</p>



<a name="172232689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232689">(Aug 01 2019 at 15:49)</a>:</h4>
<p>do we want to define what a padding byte is at all ?</p>



<a name="172232695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232695">(Aug 01 2019 at 15:49)</a>:</h4>
<blockquote>
<p>well for f32 it wouldn't be bijective right ?</p>
</blockquote>
<p>no idea. do we guarantee to preserve NaN bits?</p>



<a name="172232705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232705">(Aug 01 2019 at 15:49)</a>:</h4>
<p>no we don't</p>



<a name="172232716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232716">(Aug 01 2019 at 15:49)</a>:</h4>
<p>or at least, not yet, LLVM does not preserve them, so we currently cannot</p>



<a name="172232726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232726">(Aug 01 2019 at 15:49)</a>:</h4>
<p>does everyone know that?^^ seems like a huge footfun</p>



<a name="172232738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232738">(Aug 01 2019 at 15:49)</a>:</h4>
<p>it should be in the reference somewhere</p>



<a name="172232753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232753">(Aug 01 2019 at 15:49)</a>:</h4>
<blockquote>
<p>do we want to define what a padding byte is at all ?</p>
</blockquote>
<p>I would prefer if we did not have to talk about this in the spec, ever, and it just arose naturally from the "typed copy" rules</p>



<a name="172232791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232791">(Aug 01 2019 at 15:50)</a>:</h4>
<p>but with the mess that is unions passed by value, I am not sure if we have that luxury</p>



<a name="172232814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232814">(Aug 01 2019 at 15:50)</a>:</h4>
<p>so we can define padding as those bytes that are not copied on typed copies :D</p>



<a name="172232841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232841">(Aug 01 2019 at 15:50)</a>:</h4>
<p>that's way too informal, typed copies dont copy bytes</p>



<a name="172232847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232847">(Aug 01 2019 at 15:50)</a>:</h4>
<p>they perform two value-bytelist-conversions</p>



<a name="172232865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232865">(Aug 01 2019 at 15:50)</a>:</h4>
<p>anyway I got to go, cu!</p>



<a name="172232885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232885">(Aug 01 2019 at 15:51)</a>:</h4>
<p>cu, we should continue that discussion in that issue</p>



<a name="172232947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172232947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172232947">(Aug 01 2019 at 15:52)</a>:</h4>
<p>we can try to find a way to specify that with the terms what we have, and if we can't, we shall identify which new definitions we need, and work towards adding those first, and then re-evaluate</p>



<a name="172234337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172234337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172234337">(Aug 01 2019 at 16:03)</a>:</h4>
<p>and meanwhile the rest of that PR can proceed without this</p>



<a name="172237264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172237264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tom Phinney <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172237264">(Aug 01 2019 at 16:40)</a>:</h4>
<p>Couldn't we just state "<strong>Padding</strong> consists of all bytes in the layout of a <code>struct</code>, or the layout of an <code>enum</code> with associated data, that were added by the compiler to provide required alignment for the explicitly-specified fields of the <code>struct</code> or <code>enum</code>." ?</p>



<a name="172237411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172237411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172237411">(Aug 01 2019 at 16:42)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> this is odd: <a href="https://github.com/rust-lang/unsafe-code-guidelines/blob/master/reference/src/layout/structs-and-tuples.md#zero-sized-structs" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/blob/master/reference/src/layout/structs-and-tuples.md#zero-sized-structs">https://github.com/rust-lang/unsafe-code-guidelines/blob/master/reference/src/layout/structs-and-tuples.md#zero-sized-structs</a><br>
it talks about all repr's but is inside the "repr Rust" section</p>



<a name="172237526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172237526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172237526">(Aug 01 2019 at 16:44)</a>:</h4>
<p><span class="user-mention" data-user-id="132894">@Tom Phinney</span> that would be an intensional definition of padding -- in terms of when it gets added, not how it behaves. That could also work.<br>
You have to mention extra trailing padding though that has to be added sometimes with <code>repr(align)</code> to make the size a multiple of the alignment.</p>



<a name="172237584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172237584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172237584">(Aug 01 2019 at 16:44)</a>:</h4>
<p>this def.n would basically delegate it to struct/enum/union to say what their respective padding bytes are</p>



<a name="172238356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172238356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172238356">(Aug 01 2019 at 16:52)</a>:</h4>
<blockquote>
<p>this is odd<br>
we can move this somewhere else</p>
</blockquote>



<a name="172238755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172238755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tom Phinney <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172238755">(Aug 01 2019 at 16:57)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> I believe that we have to define "padding" before we can specify its behavior. I had wondered about the trailing padding; some of the UCG discussions I've seen include it but most do not.  That's probably because it's inclusion seems mandatory only for items that are in an array (though I would like to consider it to also be needed to align with cache lines, etc). Personally I believe that trailing padding needs to be included.</p>



<a name="172239579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172239579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tom Phinney <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172239579">(Aug 01 2019 at 17:06)</a>:</h4>
<p>Another way to define padding could be "<strong>Padding</strong> consists of all bytes in an actual layout that were added by the compiler to satisfy type alignment constraints." That definition implies that, in general, the programmer cannot predict exactly how much padding, if any, will be added. That situation is particularly apparent when rustc is free to reorder fields within a layout: (uint8, int16, int8) could have two bytes of padding if laid out in that order, or no bytes if laid out as (int8, uint8, int16).</p>



<a name="172239708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172239708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172239708">(Aug 01 2019 at 17:08)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> yeah, we should likey have a section on <code>### Stuff that is true for all repr's</code></p>



<a name="172239785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172239785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172239785">(Aug 01 2019 at 17:09)</a>:</h4>
<blockquote>
<p>believe that we have to define "padding" before we can specify its behavior</p>
</blockquote>
<p>I disagree. See <a href="https://github.com/rust-lang/unsafe-code-guidelines/issues/183" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/issues/183">https://github.com/rust-lang/unsafe-code-guidelines/issues/183</a> for a definition.<br>
Most of the behavior of padding (at least the part where padding bytes are not preserved on copis) is actually specified in <a href="https://github.com/rust-lang/unsafe-code-guidelines/pull/175" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/pull/175">https://github.com/rust-lang/unsafe-code-guidelines/pull/175</a>, and the beauty is that the spec dosnt even need to talk about padding to specify that. :D</p>



<a name="172239820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172239820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172239820">(Aug 01 2019 at 17:09)</a>:</h4>
<p><span class="user-mention" data-user-id="132894">@Tom Phinney</span> trailing padding is also mandatory for <code>#[repr(align(8)] struct Foo(u8);</code></p>



<a name="172239914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172239914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172239914">(Aug 01 2019 at 17:10)</a>:</h4>
<blockquote>
<p>That definition implies that, in general, the programmer cannot predict exactly how much padding, if any, will be added.</p>
</blockquote>
<p>I quite disagree, in fact it says very precisely that if type alignment constraints are met, no padding will be added.<br>
there are proposals for having padding in unions in a way that has nothing to do with type alignment constraints.</p>



<a name="172242148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172242148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tom Phinney <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172242148">(Aug 01 2019 at 17:38)</a>:</h4>
<p>^^ In that case the type size constraint needs to include both any initial padding of the first byte of the type and any terminal padding after the last byte of the type. Otherwise the prefix padding for the second element of an array would include the implied suffix padding for the first element, and the array as a whole could have unspecified suffix padding. (Sorry if I'm using "wrong" terminology here. I'm just trying to convey what I see as the issue.)</p>
<p>As to <a href="https://github.com/rust-lang/unsafe-code-guidelines/issues/183" target="_blank" title="https://github.com/rust-lang/unsafe-code-guidelines/issues/183">https://github.com/rust-lang/unsafe-code-guidelines/issues/183</a>, I don't feel bad about not knowing about an issue that was opened only yesterday.</p>



<a name="172247350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172247350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172247350">(Aug 01 2019 at 18:31)</a>:</h4>
<p>I didnt say you should feel bad. :) just pointed out that padding can indeed be defined "extensionally", based on behavior that the Rust Abstract Machine has anyway.</p>



<a name="172248181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172248181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tom Phinney <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172248181">(Aug 01 2019 at 18:39)</a>:</h4>
<p>Obviously the UCG team has decided that the Rust Abstract Machine (RustAM) should model non-trapping NotAValues (NaVs) as 0xUU Should the RustAM also model Itanium-style trapping NaVs, or is the UCG presuming that no future ISA will impose a similar poorly-though-out "feature"?</p>



<a name="172248378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172248378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172248378">(Aug 01 2019 at 18:40)</a>:</h4>
<p>nothing around 0xUU is decided. that's all just my personal proposals so far. But it is the only really concrete proposal we got.</p>



<a name="172248452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172248452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172248452">(Aug 01 2019 at 18:41)</a>:</h4>
<p>I have read about trapping "NaVs" on Itanium but do not know much about them and do not know what it would take for the spec to account for them</p>



<a name="172248528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172248528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172248528">(Aug 01 2019 at 18:42)</a>:</h4>
<p>I think if we declared <code>let x: u8 = mem::uninitialized()</code> allowed we might actually be able to handle itanium. or maybe not.</p>



<a name="172251011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172251011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tom Phinney <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172251011">(Aug 01 2019 at 19:06)</a>:</h4>
<p>My understanding is that the Itanium trapping NaVs are not in primary memory, but only in registers and (probably) cache lines. If so, it's more a compiler problem that the compiler can predict. Any load of a cache line from primary memory will have 0xUUs rather than trapping NaVs. Of course I may be incorrect; I've never had to work with the Itanium ISA and, at the moment, have to run so I can't research it before posting this reply.</p>



<a name="172260354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172260354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172260354">(Aug 01 2019 at 20:51)</a>:</h4>
<p><span class="user-mention" data-user-id="132894">@Tom Phinney</span> i don't think Rust support Itanium, at least, not yet</p>



<a name="172260467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172260467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172260467">(Aug 01 2019 at 20:52)</a>:</h4>
<p>if it does, the current proposal means that copying NaVs is ok</p>



<a name="172260599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172260599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172260599">(Aug 01 2019 at 20:54)</a>:</h4>
<p>i don't know if that would mean that Rust wouldn't be able to target Itanium</p>



<a name="172294295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172294295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tom Phinney <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172294295">(Aug 02 2019 at 09:06)</a>:</h4>
<p>Okay, I've done a very brief investigation of the IA64  (also known as Intel Itanium) Instruction Set Architecture (ISA), based on <a href="https://www.intel.com/content/dam/www/public/us/en/documents/manuals/itanium-architecture-vol-3-manual.pdf" target="_blank" title="https://www.intel.com/content/dam/www/public/us/en/documents/manuals/itanium-architecture-vol-3-manual.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/manuals/itanium-architecture-vol-3-manual.pdf</a>. </p>
<p><strong>Disclaimer:</strong> The following analysis might be in error.</p>
<p>Most architecture registers have an associated <code>NaT</code> (Not a Thing) status flag, whose primary purpose is to invalidate speculative execution results that need to be discarded because the execution trace took a different path. These bits are not programmer-visible in other out-of-order architecture implementations, but in IA64 they are programmer visible. <strong>Conclusion 1:</strong> rustc is unlikely to encounter this "feature" in any future ISA.</p>
<p>If rustc is ported to IA64, which seems not very likely since the IA64 product line is considered obsolete, then there are two IA64 extensions of the per-architecture-register NaT flags that will need to be considered. First, it is possible to tag pages in the memory map as <code>NaT</code> pages, so that any load from such a page propagates the <code>NaT</code> status to the architecture register containing the loaded value. Second, and much more important, there is an IA64 architecture register that contains a configurable floating-point NaN value (called <code>NaTVal</code>) which, when encountered,  propagates preemptively through all IA64 floating-point operations. That permits floating-point values whose status is still speculative to be spilled to memory and later reloaded without losing their <code>NaT</code> status. <strong>Conclusion 2:</strong> The RustAM should not bother to model this IA64 peculiarity.</p>



<a name="172294658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172294658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172294658">(Aug 02 2019 at 09:14)</a>:</h4>
<blockquote>
<p>The RustAM should not bother to model this IA64 peculiarity</p>
</blockquote>
<p>I like this conclusion ;)</p>
<p>Thanks <span class="user-mention" data-user-id="132894">@Tom Phinney</span> !</p>



<a name="172304044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting%202019-08-01/near/172304044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/Meeting.202019-08-01.html#172304044">(Aug 02 2019 at 12:29)</a>:</h4>
<p>I can see other WLIW architectures using a similar mechanism TBQH, but I think that making <code>NaT</code>-like thing visible would throw a wrench not only into Rust’s wheels but also every other language’s as well.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>